import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 确保数据已经加载到DataFrame中
df = pd.read_csv('diabetes_data.csv')  # 请替换为你的CSV文件路径

# 数值变量列表
numerical_vars = ['weight', 'height', 'blood_glucose', 'physical_activity', 'sleep_hours']

# 为每个变量指定不同的颜色
colors = ['#1f777b', '#ff7f0e', '#2ca02c', '#98df8a', '#d62728']

# 对每个数值变量进行异常值检测和箱线图可视化
for i, var in enumerate(numerical_vars):
    plt.figure(figsize=(6, 4))
    sns.boxplot(x=df[var], color=colors[i])  # 为每个箱线图指定颜色
    plt.title(f'Boxplot of {var}')
    plt.xlabel(var)
    plt.ylabel('Values')
    plt.show()